if(true){
    let foo='zec'
}

const {log}=console
// log(foo)

// for(var i=0;i<3;i++){
//     for(var i=0;i<3;i++){
//         log(i)
//     }
// }

// for(var i=0;i<3;i++){
//     for(let i=0;i<3;i++){
//         log(i)
//     }
// }

// const arr=[100,22,33]
// // const [foo,bar,baz]=arr
// const [...res]=arr
// // log(foo,bar,baz);
// // log(res);

// const obj={'name':'wy','age':19}
// const {name:objname,age}=obj
// // log(objname,age)
// let strs=`模板字符串${objname}`
// log(strs)
// //模板字符串的三个方法
// log(strs.startsWith('模板'))// 判断模板是否为开头的
// log(strs.endsWith('wy'))// 判断wy是否为结尾的
// log(strs.includes('符串'))// 判断符串是否为中间的的


// function foo(ee,name='哈哈',age=18){ //默认参数
// console.log(name,age,ee)
// }
// foo(111);

// function foo2(...args){  //剩余参数 用...操作符
//     console.log(args)
// }
// foo2(1,2,3,4,5,6)


// let arr=[123,33,2,1,4]
// console.log(...arr)


// let obj={
//     name:'tom',
//     sayHi:()=>{
//         console.log(this.name)
//     },
//     sayHi2:function(){
//         console.log(this.name)
//         setTimeout(()=>{
//             console.log(this.name)
//         },100)
//     }
// }
// obj.sayHi2();
// obj.sayHi();


// let objs={name:1}
// let b=Object.assign({},objs)
// objs.name=2;
// console.log(b.name)

// console.log(Object.is(NaN,NaN))

// proxy 对象
// const person={
//     name:'张山',
//     age:14,
// }
// const presonProxy=new Proxy(person,{
//     get(targe,prope){  //trage 是调用的对象， prope是被访问的属性名
//         console.log(targe,prope)
//         return 100
//     },
//     set(target,prope,value){
//         console.log(target,prope,value) //trage 是调用的对象， prope是被访问的属性名  value是设置的值
//     }
// })
// log(presonProxy.name)
// presonProxy.gender=true



// class proson{
//     constructor(value){
//         this.value=value
//     }
//     syhi(){
//         console.log(this.value)
//     }

//     static foo(name){
//        return new proson(name)
//     }
// }
// let pro=new proson('王耀');
// // pro.syhi();
// proson.foo('静态方法').syhi()

// class pro2 extends proson{
//     constructor(name,age){
//         super(name)
//         this.age=age
//     }
//     syhi2(){
//         super.syhi()
//         console.log(this.age)
//     }
// }

// let proclass=new  pro2('wy',18)
// proclass.syhi2();
// log(proclass)


// let arr=[1,1,2,2,3,3]
// let sets=new Set(arr)
// let arr2=Array.from(sets);//数组去重
// sets.add(9);
// log(sets.size) //set的长度
// log(sets.has(1))// set里面是否有1
// log(sets.delete(3))  //删除里面的3
// log(sets)
// sets.clear() //删除全部
// log(sets)
// log(arr2)

const names=Symbol()
obj={
    a:1,
    [names]:20,
    shy(){
        console.log(this)
        console.log(this[names])
    }
}
obj.shy()